package model

import (
	"time"
)

type HostAccountFillAble struct {
	AccountUsername  string    `gorm:"column:account_username" json:"account_username"`     // 店铺用户名
	AccountPassword  string    `gorm:"column:account_password" json:"account_password"`     // 店铺加密密码
	AccountOriginPwd string    `gorm:"column:account_origin_pwd" json:"account_origin_pwd"` // 店铺原始密码
}

type HostHostFillAble struct {
	HostIP        string    `gorm:"column:host_ip" json:"host_ip"`                                                    // 主机IP
	HostPort      string    `gorm:"column:host_port" json:"host_port"`                                                // 主机端口号
	HostUsername  string    `gorm:"column:host_username" json:"host_username"`                                        // 主机登录账号
	HostPassword  string    `gorm:"column:host_password" json:"host_password"`                                        // 主机登录密码
	HostState     uint      `gorm:"column:host_state" json:"host_state"`                                              // 主机状态(1运行中，0未运行)
}

type HostFillAble struct {
	HostIP        string    `gorm:"column:host_ip" json:"host_ip"`                                                    // 主机IP
	HostPort      string    `gorm:"column:host_port" json:"host_port"`                                                // 主机端口号
	HostUsername  string    `gorm:"column:host_username" json:"host_username"`                                        // 主机登录账号
	HostPassword  string    `gorm:"column:host_password" json:"host_password"`                                        // 主机登录密码
	HostState     uint      `gorm:"column:host_state" json:"host_state"`                                              // 主机状态(1运行中，0未运行)
	ReleaseStatus uint      `gorm:"column:release_status" json:"release_status"`                                      // 部署状态(1已部署，0未部署)
	ReleaseDate   time.Time `gorm:"column:release_date;type:date;default:'0001-01-01T00:00:00Z'" json:"release_date"` // 部署日期
	Issues        string    `gorm:"column:issues" json:"issues"`                                                      // 问题描述
	Status        uint      `gorm:"column:status" json:"status"`                                                      // 状态：1正常，0禁用
}

func (Host) TableName() string {
	return "hosts"
}

type Host struct {
	ID                   uint      `gorm:"primarykey;comment:自增ID;column:id"`        // 自增ID
	CreatedAt            time.Time
	UpdatedAt            time.Time
	HostFillAble
	HostAccountFillAble
	Remarks              string    `gorm:"column:remarks" json:"remarks"`                       // 备注
}



